The present invention relates generally to the correction of errors introduced into data during transmission, and particularly to techniques for forward error correction of such errors.
Fiber optics provide an ideal communications medium. They yield very large potential data rates with relatively few impairments in the medium to disrupt communications when compared to systems like wireless communication or data storage. One of the limiting factors in fiber optic communication is cost. Because of the high data rates on most fiber links, the electronic circuits that are used to generate, process and receive the data can be very expensive. This has forced fiber optic networks to proliferate in the core of the data network, where cost is less of a concern because the network core aggregates a great deal of data and the cost can be spread across many users. One of the key technology enablers in core fiber optic networks is forward error control (FEC) technology. The primary purpose of FEC is to correct errors that occur during transmission. FEC is the process of inserting additional bits into data before transmission to facilitate correction of bit errors introduced during transmission. In core networks where the data rate is high (for example, 10 gigabits per second), FEC can be very expensive.
FEC can be used to improve the reliability of a link by many orders of magnitude. For example, the raw bit error rate (BER) of a link having a BER of 1 in 1000 bits can be improved to 1 bit in 1,000,000,000,000 with the addition of approximately 7% FEC bits. This improvement in BER allows a service provider many options. For example the length of the fiber can be increased, or the transmitted optical power can be reduced.
Recently a new class of FEC codes has been introduced that achieve coding efficiencies that approach the theoretical limit predicted by theory. These codes, referred to as “turbo codes,” generally have three characteristics. First, they employ long codeword block lengths. Second, they employ some form of diversity, meaning that each codeword symbol is generated based upon multiple data bits. Finally, turbo codes are iteratively decodable. Due to their extremely high coding efficiencies, turbo codes are well-suited for error-prone communications channels such as satellite links, wireless links, and long-haul electronic links.
Another key feature of conventional turbo codes is that decoding requires a measurement of the received energy level for each codeword symbol. For example, commercially-available analog-to-digital converters (ADCs) connected to low-speed channels can be used to provide a numerical measurement of the received energy level, which is used by the turbo decoder. However, ADCs that operate at the high speeds required by fiber-optic channels have yet to be developed. For this reason, turbo codes have yet to be applied to fiber-optic channels.